package com.project.zsxd.server.sleepInfo.service;

import com.project.zsxd.server.sleepInfo.entity.SleepInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.project.zsxd.server.user.entity.User;

/**
 * <p>
 * 早睡打卡统计信息 服务类
 * </p>
 *
 * @author kaler
 * @since 2023-02-18
 */
public interface ISleepInfoService extends IService<SleepInfo> {

    /**
     * 批量刷新打卡信息
     */
    void batchRefreshSleepInfo();

    /**
     * 查询用户的打卡统计信息
     * @return 打卡统计信息
     */
    SleepInfo querySleepInfo(User user);

    /**
     * 添加一次打卡记录
     * 累计打卡次数 +1
     * 当月累计打卡次数 +1
     * @param isFill 是否为补卡
     */
    void addOneClockSleep(User user, boolean isFill);

}
